The usage of machine to machine communication is expected to grow. Typically machine to machine communication is defined as communication between machines, computers, computerized systems, etc, without human interaction. Further the number of devices connected to communication networks is expected to grow in the future. With an increasing number of connected devices, capable of communication, the machine to machine communication may take advantage of the connected devices.
The devices may be providing a wide variety of features. In the area of home automation, devices may be providing sensor capabilities such as, sensing temperature, humidity, open/closed/locked doors or windows, energy meters, water meters and similar, as well as various actuators such as for turning on heater/cooler, switching lights or pumps on/off, and similar applications related to home automation. Another area that can use machine to machine communication is security and surveillance related to homes and offices. Various sensors such as motion sensors, smoke detectors, cameras, etc, are connected to local or central security systems, which in turn are connected to actuators such as sirens, sprinklers, speakers, etc. Another area is automotive where vehicles may include a wide range of different kind of sensors and actuates. Another area is transportation and logistics where both logistics centers as well as vehicles for transportation may contain both sensors and actuators for tracking of or creation of documents at certain toll gates. Material and goods may contain sensors and/or actuators, for example to monitor or control that certain quality requirements are fulfilled, such as temperature or mechanical shock.
Today's technology may provide substantial computing power through various processors integrated into CPU's (Central Processing Units) or other types of integrated chips. Further, it is possible to meet various bandwidth needs both through wired as well as wireless technologies for communication. Over the wired or wireless communication networks, there are a variety of protocols which may enable communication. A few examples of such protocols are: TCP/UDP IP (Transfer Control Protocol/User Datagram Protocol/Internet Protocol), UPnP (Universal Plug and Play), Bonjour, Z-wave, ZigBee, CoAP (Constrained Application Protocol), TR069 (Technical Report 069), plain text (e.g. txt files), XML (eXtensible markup Language), or JSON (JavaScript Object Notation), e-mail, http (Hypertext Transfer protocol), https (http secure), ftp (file transfer protocol), SIP (Session Initiation Protocol), Bluetooth, as well as proprietary protocols such as ANT+ (proprietary wireless sensor network technology), not limiting usage of other protocols. At least some of the above mentioned protocols are considered high level protocols. When adopting devices for connection via such protocols, it is easy for application and device developers to connect applications or devices to the Internet or other communication networks. Commonly, messages over these protocols are communicated via plain text.
However, it is a desire to keep the cost of each device low, and to facilitate distribution and usage of various devices. Typically the more powerful processing unit, the higher cost. Another issue related to cost is power consumption. An increasing number of connected devices may add undesired electrical power consumption, which have a direct economical cost impact as well as going opposite to environmental policies focusing on reducing power consumption. In a case where a device is wirelessly connected to a communications network, it may carry some kind of electrical battery or other internal source of electrical energy. In such wireless device it is desired to prolong the battery life time as long as possible, to minimize the maintenance frequency, and if using a non-renewable battery, minimize the battery waste.
A problem with today's solutions is a contradiction between creation of devices which are capable to use convenient support high level protocols and capable to support various application developer's desires, and at the same time keep the manufacturing cost of a single device as low as possible. Another problem is how to make communication with devices simple in such a manner that requests and responses are processed as quickly as possible. Another problem is how to minimize energy use in a wired network, or how to preserve energy in wireless devices. From a user perspective it may also be a problem how to name various devices, for example, in a home environment, such that devices are easy to recognize for everybody in a family.